package com.elitesland.demo.controller.backend.entity;

/**
 * ITEM
 * ItemDO
 * 商品表
 * @author User(EMAIL)
 * @date   2021/3/11 10:05:55


 */

import com.elitesland.core.base.BaseModel;
import com.elitesland.system.annotation.Comment;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.io.Serializable;
import java.util.Objects;

/**
 * 商品表
 */
@Entity
@Table(name = "item")
@org.hibernate.annotations.Table(appliesTo = "item", comment = "商品表")
@Data
@DynamicInsert
@DynamicUpdate
@Accessors(chain = true)
@ApiModel(value = "ITEM", description = "商品表")
@EqualsAndHashCode(callSuper=true)
public class ItemDO extends BaseModel  implements Serializable
{


    @ApiModelProperty("商品编码 关键字段")
    @Comment("商品编码 关键字段")
    @Column(length = 255 )
    String itemCode;

    @ApiModelProperty("商品名称 关键字段")
    @Comment("商品名称 关键字段")
    @Column(length = 255 )
    String itemName;

    @ApiModelProperty("价格 关键字段")
    @Comment("价格 关键字段")
    @Column()
    Double itemPrice;

    @ApiModelProperty("大类编号 使用COM_C1表")
    @Comment("大类编号 使用COM_C1表")
    @Column(length = 40 )
    String c1Code;

    @ApiModelProperty("中类编号 使用COM_C2表")
    @Comment("中类编号 使用COM_C2表")
    @Column(length = 40 )
    String c2Code;

    @ApiModelProperty("小类编号")
    @Comment("小类编号")
    @Column(length = 40 )
    String c3Code;

    @ApiModelProperty("主计量单位")
    @Comment("主计量单位")
    @Column(length = 10 )
    String uom;

    @ApiModelProperty("默认销售单位")
    @Comment("默认销售单位")
    @Column(length = 10 )
    String saleUom;

    @ApiModelProperty("默认采购单位")
    @Comment("默认采购单位")
    @Column(length = 10 )
    String purcUom;

    @ApiModelProperty("发运计量单位")
    @Comment("发运计量单位")
    @Column(length = 10 )
    String shipUom;

    @ApiModelProperty("要货计量单位")
    @Comment("要货计量单位")
    @Column(length = 10 )
    String orderUom;

    @ApiModelProperty("定价计量单位")
    @Comment("定价计量单位")
    @Column(length = 10 )
    String pricingUom;

    @ApiModelProperty("毛重")
    @Comment("毛重")
    @Column()
    Double grossWeight;

    @ApiModelProperty("净重")
    @Comment("净重")
    @Column()
    Double netWeight;

    @ApiModelProperty("重量单位 克还是吨")
    @Comment("重量单位 克还是吨")
    @Column(length = 10 )
    String weightUom;

    @ApiModelProperty("重量对应的品项单位 支还是千支")
    @Comment("重量对应的品项单位 支还是千支")
    @Column(length = 10 )
    String weightItemuom;

    @ApiModelProperty("毛重2")
    @Comment("毛重2")
    @Column()
    Double grossWeight2;

    @ApiModelProperty("净重2")
    @Comment("净重2")
    @Column()
    Double netWeight2;

    @ApiModelProperty("重量2单位 克还是吨")
    @Comment("重量2单位 克还是吨")
    @Column(length = 10 )
    String weightUom2;

    @ApiModelProperty("重量2对应的品项单位 箱或包等包装单位")
    @Comment("重量2对应的品项单位 箱或包等包装单位")
    @Column(length = 10 )
    String weightItemuom2;

    @ApiModelProperty("体积")
    @Comment("体积")
    @Column()
    Double volume;

    @ApiModelProperty("最小起订量")
    @Comment("最小起订量")
    @Column()
    Double moq;

    @ApiModelProperty("安全库存")
    @Comment("安全库存")
    @Column()
    Double safeQty;

    @ApiModelProperty("最大库存量")
    @Comment("最大库存量")
    @Column()
    Double maxQty;

    @ApiModelProperty("最大要货量")
    @Comment("最大要货量")
    @Column()
    Double maxOrderQty;

    @ApiModelProperty("存储类型")
    @Comment("存储类型")
    @Column(length = 40 )
    String packageType;

    @ApiModelProperty("整包装数量")
    @Comment("整包装数量")
    @Column()
    Double packageQty;

    @ApiModelProperty("批量")
    @Comment("批量")
    @Column()
    Double batchQty;

    @ApiModelProperty("要货容差率")
    @Comment("要货容差率")
    @Column()
    Double orderTolerance;


}
